// $ANTLR 3.0.1 C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g 2008-02-25 15:48:48

package edu.calvin.djs32.cs214.interpreters.frontend;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class Hobbes2008Lexer extends Lexer {
    public static final int COMMA=12;
    public static final int INTEGER=8;
    public static final int HEXDIGIT=6;
    public static final int EOF=-1;
    public static final int NUMBER=5;
    public static final int STRING=11;
    public static final int RPAREN=14;
    public static final int Tokens=15;
    public static final int SIGN=7;
    public static final int LPAREN=13;
    public static final int TUPLE=4;
    public static final int COMMENTS=10;
    public static final int WHITESPACE=9;
     
      protected void mismatch(IntStream input, int ttype, BitSet follow) 
        throws RecognitionException { 
        throw new MismatchedTokenException(ttype, input); 
      } 
      public void recoverFromMismatchedSet(IntStream input, RecognitionException e, BitSet follow) 
        throws RecognitionException { 
        throw e; 
      } 
      public void recover(RecognitionException re) {
        throw new RuntimeException(re);
      }

    public Hobbes2008Lexer() {;} 
    public Hobbes2008Lexer(CharStream input) {
        super(input);
    }
    public String getGrammarFileName() { return "C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g"; }

    // $ANTLR start NUMBER
    public final void mNUMBER() throws RecognitionException {
        try {
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:52:8: ( '0' .. '9' )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:52:10: '0' .. '9'
            {
            matchRange('0','9'); 

            }

        }
        finally {
        }
    }
    // $ANTLR end NUMBER

    // $ANTLR start HEXDIGIT
    public final void mHEXDIGIT() throws RecognitionException {
        try {
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:9: ( ( NUMBER ) | ( ( 'a' .. 'f' ) | ( 'A' .. 'F' ) ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( ((LA2_0>='0' && LA2_0<='9')) ) {
                alt2=1;
            }
            else if ( ((LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("53:1: fragment HEXDIGIT : ( ( NUMBER ) | ( ( 'a' .. 'f' ) | ( 'A' .. 'F' ) ) );", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:10: ( NUMBER )
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:10: ( NUMBER )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:11: NUMBER
                    {
                    mNUMBER(); 

                    }


                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:19: ( ( 'a' .. 'f' ) | ( 'A' .. 'F' ) )
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:19: ( ( 'a' .. 'f' ) | ( 'A' .. 'F' ) )
                    int alt1=2;
                    int LA1_0 = input.LA(1);

                    if ( ((LA1_0>='a' && LA1_0<='f')) ) {
                        alt1=1;
                    }
                    else if ( ((LA1_0>='A' && LA1_0<='F')) ) {
                        alt1=2;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("54:19: ( ( 'a' .. 'f' ) | ( 'A' .. 'F' ) )", 1, 0, input);

                        throw nvae;
                    }
                    switch (alt1) {
                        case 1 :
                            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:20: ( 'a' .. 'f' )
                            {
                            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:20: ( 'a' .. 'f' )
                            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:21: 'a' .. 'f'
                            {
                            matchRange('a','f'); 

                            }


                            }
                            break;
                        case 2 :
                            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:31: ( 'A' .. 'F' )
                            {
                            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:31: ( 'A' .. 'F' )
                            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:54:32: 'A' .. 'F'
                            {
                            matchRange('A','F'); 

                            }


                            }
                            break;

                    }


                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end HEXDIGIT

    // $ANTLR start SIGN
    public final void mSIGN() throws RecognitionException {
        try {
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:57:6: ( ( '+' | '-' ) )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:57:8: ( '+' | '-' )
            {
            if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse =
                    new MismatchedSetException(null,input);
                recover(mse);    throw mse;
            }


            }

        }
        finally {
        }
    }
    // $ANTLR end SIGN

    // $ANTLR start INTEGER
    public final void mINTEGER() throws RecognitionException {
        try {
            int _type = INTEGER;
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:10: ( ( ( SIGN )? ( NUMBER )+ ) | ( ( SIGN )? '0x' ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) ) )
            int alt6=2;
            switch ( input.LA(1) ) {
            case '+':
            case '-':
                {
                int LA6_1 = input.LA(2);

                if ( (LA6_1=='0') ) {
                    int LA6_2 = input.LA(3);

                    if ( (LA6_2=='x') ) {
                        alt6=2;
                    }
                    else {
                        alt6=1;}
                }
                else if ( ((LA6_1>='1' && LA6_1<='9')) ) {
                    alt6=1;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("59:1: INTEGER : ( ( ( SIGN )? ( NUMBER )+ ) | ( ( SIGN )? '0x' ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) ) );", 6, 1, input);

                    throw nvae;
                }
                }
                break;
            case '0':
                {
                int LA6_2 = input.LA(2);

                if ( (LA6_2=='x') ) {
                    alt6=2;
                }
                else {
                    alt6=1;}
                }
                break;
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                {
                alt6=1;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("59:1: INTEGER : ( ( ( SIGN )? ( NUMBER )+ ) | ( ( SIGN )? '0x' ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) ) );", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:12: ( ( SIGN )? ( NUMBER )+ )
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:12: ( ( SIGN )? ( NUMBER )+ )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:13: ( SIGN )? ( NUMBER )+
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:13: ( SIGN )?
                    int alt3=2;
                    int LA3_0 = input.LA(1);

                    if ( (LA3_0=='+'||LA3_0=='-') ) {
                        alt3=1;
                    }
                    switch (alt3) {
                        case 1 :
                            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:14: SIGN
                            {
                            mSIGN(); 

                            }
                            break;

                    }

                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:21: ( NUMBER )+
                    int cnt4=0;
                    loop4:
                    do {
                        int alt4=2;
                        int LA4_0 = input.LA(1);

                        if ( ((LA4_0>='0' && LA4_0<='9')) ) {
                            alt4=1;
                        }


                        switch (alt4) {
                    	case 1 :
                    	    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:22: NUMBER
                    	    {
                    	    mNUMBER(); 

                    	    }
                    	    break;

                    	default :
                    	    if ( cnt4 >= 1 ) break loop4;
                                EarlyExitException eee =
                                    new EarlyExitException(4, input);
                                throw eee;
                        }
                        cnt4++;
                    } while (true);


                    }


                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:32: ( ( SIGN )? '0x' ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) )
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:32: ( ( SIGN )? '0x' ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:33: ( SIGN )? '0x' ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT ) ( HEXDIGIT )
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:33: ( SIGN )?
                    int alt5=2;
                    int LA5_0 = input.LA(1);

                    if ( (LA5_0=='+'||LA5_0=='-') ) {
                        alt5=1;
                    }
                    switch (alt5) {
                        case 1 :
                            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:34: SIGN
                            {
                            mSIGN(); 

                            }
                            break;

                    }

                    match("0x"); 

                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:45: ( HEXDIGIT )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:46: HEXDIGIT
                    {
                    mHEXDIGIT(); 

                    }

                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:55: ( HEXDIGIT )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:56: HEXDIGIT
                    {
                    mHEXDIGIT(); 

                    }

                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:65: ( HEXDIGIT )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:66: HEXDIGIT
                    {
                    mHEXDIGIT(); 

                    }

                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:75: ( HEXDIGIT )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:59:76: HEXDIGIT
                    {
                    mHEXDIGIT(); 

                    }


                    }


                    }
                    break;

            }
            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end INTEGER

    // $ANTLR start WHITESPACE
    public final void mWHITESPACE() throws RecognitionException {
        try {
            int _type = WHITESPACE;
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:62:17: ( ( ' ' | '\\t' | '\\n' | '\\r' ) )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:62:19: ( ' ' | '\\t' | '\\n' | '\\r' )
            {
            if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse =
                    new MismatchedSetException(null,input);
                recover(mse);    throw mse;
            }

             skip(); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end WHITESPACE

    // $ANTLR start COMMENTS
    public final void mCOMMENTS() throws RecognitionException {
        try {
            int _type = COMMENTS;
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:17: ( ( ( ( '/*' ) ( . )* ( '*/' ) ) | ( ( '//' ) ( . )* ( '\\n' ) ) ) )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:19: ( ( ( '/*' ) ( . )* ( '*/' ) ) | ( ( '//' ) ( . )* ( '\\n' ) ) )
            {
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:19: ( ( ( '/*' ) ( . )* ( '*/' ) ) | ( ( '//' ) ( . )* ( '\\n' ) ) )
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0=='/') ) {
                int LA9_1 = input.LA(2);

                if ( (LA9_1=='/') ) {
                    alt9=2;
                }
                else if ( (LA9_1=='*') ) {
                    alt9=1;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("67:19: ( ( ( '/*' ) ( . )* ( '*/' ) ) | ( ( '//' ) ( . )* ( '\\n' ) ) )", 9, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("67:19: ( ( ( '/*' ) ( . )* ( '*/' ) ) | ( ( '//' ) ( . )* ( '\\n' ) ) )", 9, 0, input);

                throw nvae;
            }
            switch (alt9) {
                case 1 :
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:20: ( ( '/*' ) ( . )* ( '*/' ) )
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:20: ( ( '/*' ) ( . )* ( '*/' ) )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:21: ( '/*' ) ( . )* ( '*/' )
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:21: ( '/*' )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:22: '/*'
                    {
                    match("/*"); 


                    }

                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:27: ( . )*
                    loop7:
                    do {
                        int alt7=2;
                        int LA7_0 = input.LA(1);

                        if ( (LA7_0=='*') ) {
                            int LA7_1 = input.LA(2);

                            if ( (LA7_1=='/') ) {
                                alt7=2;
                            }
                            else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFE')) ) {
                                alt7=1;
                            }


                        }
                        else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFE')) ) {
                            alt7=1;
                        }


                        switch (alt7) {
                    	case 1 :
                    	    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:27: .
                    	    {
                    	    matchAny(); 

                    	    }
                    	    break;

                    	default :
                    	    break loop7;
                        }
                    } while (true);

                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:29: ( '*/' )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:30: '*/'
                    {
                    match("*/"); 


                    }


                    }


                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:37: ( ( '//' ) ( . )* ( '\\n' ) )
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:37: ( ( '//' ) ( . )* ( '\\n' ) )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:38: ( '//' ) ( . )* ( '\\n' )
                    {
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:38: ( '//' )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:39: '//'
                    {
                    match("//"); 


                    }

                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:44: ( . )*
                    loop8:
                    do {
                        int alt8=2;
                        int LA8_0 = input.LA(1);

                        if ( (LA8_0=='\n') ) {
                            alt8=2;
                        }
                        else if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\uFFFE')) ) {
                            alt8=1;
                        }


                        switch (alt8) {
                    	case 1 :
                    	    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:44: .
                    	    {
                    	    matchAny(); 

                    	    }
                    	    break;

                    	default :
                    	    break loop8;
                        }
                    } while (true);

                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:46: ( '\\n' )
                    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:67:47: '\\n'
                    {
                    match('\n'); 

                    }


                    }


                    }
                    break;

            }

             skip(); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end COMMENTS

    // $ANTLR start STRING
    public final void mSTRING() throws RecognitionException {
        try {
            int _type = STRING;
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:71:9: ( ( '\\'' ) (~ ( '\\'' ) )* ( '\\'' ) )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:71:11: ( '\\'' ) (~ ( '\\'' ) )* ( '\\'' )
            {
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:71:11: ( '\\'' )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:71:12: '\\''
            {
            match('\''); 

            }

            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:71:17: (~ ( '\\'' ) )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( ((LA10_0>='\u0000' && LA10_0<='&')||(LA10_0>='(' && LA10_0<='\uFFFE')) ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:71:17: ~ ( '\\'' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\uFFFE') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse =
            	            new MismatchedSetException(null,input);
            	        recover(mse);    throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);

            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:71:25: ( '\\'' )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:71:26: '\\''
            {
            match('\''); 

            }


            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end STRING

    // $ANTLR start COMMA
    public final void mCOMMA() throws RecognitionException {
        try {
            int _type = COMMA;
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:72:7: ( ',' )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:72:9: ','
            {
            match(','); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end COMMA

    // $ANTLR start LPAREN
    public final void mLPAREN() throws RecognitionException {
        try {
            int _type = LPAREN;
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:73:8: ( '(' )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:73:10: '('
            {
            match('('); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end LPAREN

    // $ANTLR start RPAREN
    public final void mRPAREN() throws RecognitionException {
        try {
            int _type = RPAREN;
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:74:8: ( ')' )
            // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:74:10: ')'
            {
            match(')'); 

            }

            this.type = _type;
        }
        finally {
        }
    }
    // $ANTLR end RPAREN

    public void mTokens() throws RecognitionException {
        // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:1:8: ( INTEGER | WHITESPACE | COMMENTS | STRING | COMMA | LPAREN | RPAREN )
        int alt11=7;
        switch ( input.LA(1) ) {
        case '+':
        case '-':
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
            {
            alt11=1;
            }
            break;
        case '\t':
        case '\n':
        case '\r':
        case ' ':
            {
            alt11=2;
            }
            break;
        case '/':
            {
            alt11=3;
            }
            break;
        case '\'':
            {
            alt11=4;
            }
            break;
        case ',':
            {
            alt11=5;
            }
            break;
        case '(':
            {
            alt11=6;
            }
            break;
        case ')':
            {
            alt11=7;
            }
            break;
        default:
            NoViableAltException nvae =
                new NoViableAltException("1:1: Tokens : ( INTEGER | WHITESPACE | COMMENTS | STRING | COMMA | LPAREN | RPAREN );", 11, 0, input);

            throw nvae;
        }

        switch (alt11) {
            case 1 :
                // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:1:10: INTEGER
                {
                mINTEGER(); 

                }
                break;
            case 2 :
                // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:1:18: WHITESPACE
                {
                mWHITESPACE(); 

                }
                break;
            case 3 :
                // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:1:29: COMMENTS
                {
                mCOMMENTS(); 

                }
                break;
            case 4 :
                // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:1:38: STRING
                {
                mSTRING(); 

                }
                break;
            case 5 :
                // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:1:45: COMMA
                {
                mCOMMA(); 

                }
                break;
            case 6 :
                // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:1:51: LPAREN
                {
                mLPAREN(); 

                }
                break;
            case 7 :
                // C:\\Documents and Settings\\Derek\\workspace\\cs214\\CS 214 Interpreters\\src\\edu\\calvin\\djs32\\cs214\\interpreters\\frontend\\Hobbes2008.g:1:58: RPAREN
                {
                mRPAREN(); 

                }
                break;

        }

    }


 

}